Enforce module signatures when securelevel is greater than 0
authorMatthew Garrett <mjg59@srcf.ucam.org>
Mon, 9 Sep 2013 12:46:52 +0000 (08:46 -0400)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 4 Jan 2017 19:39:36 +0000 (19:39 +0000)
If securelevel has been set to 1 or greater, require that all modules have
valid signatures.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
Gbp-Pq: Topic features/all/securelevel
Gbp-Pq: Name enforce-module-signatures-when-securelevel-is-greate.patch

kernel/module.c

index 529efae9f481e6e071d084735bd54ad5e024b153..e1272b733ef5e2e01d62c3e68f30bb9ec9cd1ca2 100644 (file)
@@ -2742,7 +2742,7 @@ static int module_sig_check(struct load_info *info, int flags)
        }
 
        /* Not having a signature is only an error if we're strict. */
-       if (err == -ENOKEY && !sig_enforce)
+       if ((err == -ENOKEY && !sig_enforce) && (get_securelevel() <= 0))
                err = 0;
 
        return err;